查看原文
其他

好家伙,又一本技术书籍开源了!!

The following article is from JavaGuide Author Guide

大家好,今天给大家分享 5 个不错的 Java 开源项目。

项目概览:

  • PPHC:《高并发的哲学原理》开源图书
  • Snowy:国内首个国密前后分离快速开发平台
  • excel-streaming-reader:Excel 读取工具
  • checkstyle:代码规范检查
  • Imglib:轻量级的 JAVA 图像处理库

PPHC:《高并发的哲学原理》开源图书

项目介绍

  • 这是一本开源书籍,主要是高并发架构相关的内容。
  • 本书的目标是在作者有限的认知范围内,讨论一下高并发问题背后隐藏的一个哲学原理——找出单点,进行拆分。

这个系列最早发表于作者的公号,上个月才开源出来。根据作者介绍,这本开源书籍未来还会出版。

目录

内容预览

相关地址

  • 项目地址:https://github.com/johnlui/PPHC
  • 网站在线阅读:https://lvwenhan.com/tech-epic/499.html
  • 公众号在线阅读:《高并发的哲学原理》

Snowy:国内首个国密前后分离快速开发平台

项目介绍

  • Snowy 是国内首个国密前后端分离快速开发平台,定位不是深度封装的框架,也不是无代码平台,更不是某个领域的产品。
  • 前端基于 Vue+ Ant Design Vue,后端基于 Spring Boot+Mybatis Plus +MySQL+SaToken+Hutool。

开源版主要功能

效果预览

演示地址:https://snowy.xiaonuo.vip

  • 超级管理员:superAdmin,密码:123456
  • 业务管理员:bizAdmin,密码:123456

1、后台界面支持暗色、亮色、暗黑三种主题风格以及两种界面布局格式。并且,我们还可以自定义主题色以及其他样式设置。

2、系统配置模块可以进行系统配置、邮件配置、短信配置、文件配置等等。并且,我们还可以自定义配置,进而在项目中使用。

3、权限管理模块使用增强的 RBAC 权限设计,资源于接口独立授权,比较灵活。

4、支持阿里云短信、腾讯云短信发送,支持本地邮件、阿里云邮件、腾讯云邮件推送。

5、支持简易的系统监控。

相关地址

  • 项目地址:https://gitee.com/xiaonuobase/snowy
  • 官网:https://xiaonuo.vip
  • 视频教程:https://space.bilibili.com/50101698/channel/collectiondetail?sid=739071

excel-streaming-reader:Excel 读取工具

项目介绍

  • Excel 流式代码风格读取工具,只支持读取 XLSX 文件。
  • 基于 Apache POI 封装,同时保留标准 POI API 的语法。

使用示例

import com.monitorjbl.xlsx.StreamingReader;

try (
  // 初始化
  InputStream is = new FileInputStream(new File("/path/to/workbook.xlsx"));
  Workbook workbook = StreamingReader.builder()
          .rowCacheSize(100)
          .bufferSize(4096)
          .open(is)) {
  // 遍历读取
  for (Sheet sheet : workbook){
    System.out.println(sheet.getSheetName());
    for (Row r : sheet) {
      for (Cell c : r) {
        System.out.println(c.getStringCellValue());
      }
    }
  }
  // 或者按名称或索引打开工作表
  Sheet sheet = workbook.getSheet("My Sheet")
}

项目地址 :https://github.com/monitorjbl/excel-streaming-reader

checkstyle:代码规范检查

项目介绍

  • 一种可以帮助程序员编写符合编码标准的 Java 代码的开发工具。
  • 可以使检查 Java 代码的过程自动化,检查项目主要包括:Javadoc 注释、imports、过长的类和方法、空格、重复文件等等。
  • 高度可配置,可以支持几乎任何编码标准,默认内置 Sun Java 编码规范和 Google Java 编码规范两套配置文件,用户也可以根据自己的需要配置自己的规范。

集成方式

Checkstyle 拥有丰富的集成方式:CLI (命令行)、构建工具支持、IDE 支持等。

相关地址

  • 项目地址:https://github.com/checkstyle/checkstyle
  • 官网:https://checkstyle.org/

Imglib:轻量级的 JAVA 图像处理库

项目介绍

  • 一个轻量级的 JAVA 图像处理库,致力于简化对图像的常见处理。
  • 主要提供三部分的能力:图像收集(比如从 PDF 中提取图像,用到了 PDFBox)、图像处理(比如缩放、旋转、水印,基于 Thumbnailator 实现)、聚合与分裂(比如多个图像合并为一个图像、合并多个图像到 GIF 文件中)。
  • 同 Thumbnailator 一样,imglib 为开发者屏蔽了复杂的 I/O 操作,以及无需再通过 Graphics2D 对象来手动操作图像,imglib 已经自动完成了所有这些工作。

使用示例

用户创建一个 hash 图像,头像点阵设定为 8px*8px,头像大小为 300px*300px,并增加一个边距为 20px 的边框。该图像生成任务,可以通过以下操作完成:

ImagePipes.ofEmptySource()
        .register(new HashImageGenerator.Builder("Imglib")      // hash 图像生成器
                .gridVerticalNum(8)                             // 水平方向的点阵数量
                .bgColor(ColorUtils.of(240240240))          // 背景色
                .fgColor(ColorUtils.of(5015050))            // 前景色
                .build())
        .toThumbnails()                                         // 转换为 Thumbnails
        .addFilter(new HighQualityExpandHandler.Builder()       // 图像无损放大处理器
                .finalWidth(150)                                // 图像的宽度
                .keepAspectRatio(true)                          // 保持长宽比例
                .build())
        .addFilter(new BorderHandler.Builder()                  // 边框处理器
                .fillColor(ColorUtils.of(240240240))        // 边框填充色
                .vMargins(15)                                   // 垂直方向的边距
                .hMargins(15)                                   // 水平方向的边距
                .alpha(1.0f)                                    // 边框透明度
                .build())
        .scale(1.0)
        .toFile(".../avatar.png");

结果:

相关地址

  • 项目地址:https://github.com/nackily/imglib
  • 案例:https://github.com/nackily/imglib/blob/master/docs/Examples.md

··············  END  ··············

欢迎学编程的朋友们加入鱼皮的 编程知识星球 ,鱼皮会 1 对 1 解决你的问题,直播带你做出项目、为你定制学习计划和求职指导,还能获取海量编程学习资源,和上万名学编程的同学共享知识、交流进步。后面我大概率也会在星球里,直播带大家开发一些 ChatGPT 应用,敬请期待~

往期推荐

我的学习小圈子

我的新网站上线了!而且这次的制作方式有点不同。。。

刚进公司就负责项目,把老弟整蒙了!

恐怖的 GPT4!我也入局了

美团面试,问的都是基础啊!

中科院学术专用 ChatGPT,开源!

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存